Перейти к основному содержимому

5.1. CLI-команды

Работа с Ozone: CLI-команды (Ozone Shell)

Apache Ozone предоставляет удобный интерфейс командной строки (CLI) через Ozone Shell, позволяющий администраторам и пользователям управлять хранилищем и данными. Ozone Shell поддерживает выполнение различных операций, таких как создание томов, бакетов и ключей, а также мониторинг состояния кластера.

1. Запуск Ozone Shell

Для выполнения команд Ozone откройте терминал и перейдите в папку, где установлен Ozone. Выполните следующую команду для доступа к Ozone Shell:

bin/ozone sh

2. Работа с томами (Volumes)

Том (Volume) — это верхний уровень логической структуры, который используется для управления доступом и квотами.

Создание тома

bin/ozone sh volume create /myvolume

Просмотр информации о томе

bin/ozone sh volume info /myvolume

Изменение владельца тома

bin/ozone sh volume setowner /myvolume --owner=new_owner

Настройка квоты на объём данных и количество бакетов

bin/ozone sh volume setquota /myvolume --space-quota=100GB --bucket-quota=10

Удаление тома

bin/ozone sh volume delete /myvolume

3. Работа с бакетами (Buckets)

Бакет (Bucket) — это контейнер для хранения объектов (ключей) внутри тома.

Создание бакета

bin/ozone sh bucket create /myvolume/mybucket

Просмотр информации о бакете

bin/ozone sh bucket info /myvolume/mybucket

Настройка политики репликации

bin/ozone sh bucket setreplication /myvolume/mybucket --replication=3

Включение/отключение версионирования

bin/ozone sh bucket setversioning /myvolume/mybucket --enabled

Удаление бакета

bin/ozone sh bucket delete /myvolume/mybucket

4. Работа с ключами (Keys)

Ключ (Key) — это объект данных, хранящийся в бакете. Он может представлять файл или данные любого другого типа.

Добавление ключа в бакет

bin/ozone sh key put /myvolume/mybucket/mykey localfile.txt

Чтение содержимого ключа

bin/ozone sh key get /myvolume/mybucket/mykey

Копирование ключа на локальный диск

bin/ozone sh key get /myvolume/mybucket/mykey --tofile=downloaded.txt

Удаление ключа

bin/ozone sh key delete /myvolume/mybucket/mykey

5. Мониторинг состояния кластера

Ozone Shell также предоставляет команды для мониторинга состояния кластера, узлов и контейнеров.

Просмотр состояния всех служб

bin/ozone admin service list

Просмотр списка DataNodes

bin/ozone admin datanode list

Просмотр контейнеров

bin/ozone admin container list

Проверка информации о контейнере

bin/ozone admin container info <container-id>

6. Управление контейнерами и репликами

Восстановление контейнера

Если система обнаружила недостающие реплики, можно инициировать восстановление вручную:

bin/ozone admin container recover <container-id>

Балансировка реплик между DataNodes

bin/ozone admin datanode rebalance

7. Примеры работы с Ozone Shell

  1. Создать том, бакет и загрузить файл:

    bin/ozone sh volume create /projectA
    bin/ozone sh bucket create /projectA/logs
    bin/ozone sh key put /projectA/logs/log1.txt local_log.txt
  2. Получить файл из Ozone и сохранить на локальном диске:

    bin/ozone sh key get /projectA/logs/log1.txt --tofile=downloaded_log.txt
  3. Удалить ключ и бакет:

    bin/ozone sh key delete /projectA/logs/log1.txt
    bin/ozone sh bucket delete /projectA/logs

8. Помощь и справочная информация

Вы можете получить справочную информацию по любой команде, используя флаг --help:

bin/ozone sh volume --help
bin/ozone sh bucket --help
bin/ozone sh key --help

Итог

Ozone Shell — это мощный инструмент для управления и мониторинга кластера Apache Ozone. Он предоставляет доступ ко всем функциям хранилища через простой интерфейс командной строки. Используйте команды Ozone Shell для создания и управления томами, бакетами и ключами, а также для мониторинга состояния кластера и выполнения административных задач.